

// src/hooks/useErrorHandler.ts
import { useCallback } from 'react';
import { message } from 'antd';
import { AxiosError } from 'axios';

/**
 * 错误处理 Hook
 */
export const useErrorHandler = () => {
  const handleError = useCallback((error: unknown, defaultMessage = '操作失败') => {
    if (error instanceof AxiosError) {
      const errorMessage = 
        error.response?.data?.message || 
        error.response?.data?.error || 
        error.message || 
        defaultMessage;
      message.error(errorMessage);
    } else if (error instanceof Error) {
      message.error(error.message || defaultMessage);
    } else {
      message.error(defaultMessage);
    }
  }, []);

  return { handleError };
};